home *** CD-ROM | disk | FTP | other *** search
- /*
- Helpers_ut.h
- © 1996 Bob Boylan
-
- Revision History
- MacHack 1996 initial creation
- */
- #include "BaseTypes.h"
-
- #include <string>
- #include <Palettes.h>
-
- // As4CharString ... handy for translating DescTypes to char
- string
- As4CharString( Int_32 the4Chars );
-
- // AsInt32 ... handy for getting an int out of a descriptor
- Int_32
- AsInt32 ( const AEDesc &inDesc );
-
- // AsBoolean ... handy for getting a boolean out of a descriptor
- Boolean
- AsBoolean ( const AEDesc &inDesc );
-
- // Asstring ... handy for getting a descriptor as a c++ string
- string
- Asstring ( const AEDesc &inDesc );
-
-
-
- // Stack Based state savers ...
- // color saver
- class StColor
- {
- public:
- StColor()
- {
- SaveFore(&_Fore);
- SaveBack(&_Back);
-
- }
- ~StColor()
- {
- RestoreFore(&_Fore);
- RestoreBack(&_Back);
- }
-
- void
- Reset()
- {
- ForeColor(blackColor);
- BackColor(whiteColor);
- }
-
- ColorSpec _Fore;
- ColorSpec _Back;
- };
-
-
- // pen state saver
- class StPen
- {
- public:
- StPen()
- {
- GetPenState(&_Pen);
- }
- ~StPen()
- {
- SetPenState(&_Pen);
- }
- void Reset()
- {
- _Color.Reset();
- PenNormal();
-
- }
-
- private:
- StColor _Color;
- PenState _Pen;
- };
-
-
- // grafport saver
- class StPort
- {
- public:
- StPort( GrafPtr inPort = nil)
- {
- GetPort( &_Port );
- if( inPort != nil )
- {
- SetPort( inPort );
- }
- }
- ~StPort()
- {
- SetPort( _Port );
- }
-
- private:
- GrafPtr _Port;
- };
-